// pages/public/public.js
let http = require('../../utils/api.js');
let md5 = require('../../libs/md5.js');
import {
    myHttps
} from '../../utils/util.js';
import {
    souHttps
} from '../../utils/sogou.js';
Page({

    /**
     * 页面的初始数据
     */
    data: {
        iconsize: 14, //icom 放大镜的大小
        shows: 1, //控制大图片得显示隐藏
        btn: true, //控制确定按钮得颜色
        list: [], //搜索列表 
        checkedList: [], //已经选定得公众号
        id: '',
        index: '', //创建主题页面页面跳转标识
        clear: false, //取消叉号
        val: '', //输入框的值
        noChoose: true, //控制选中公众号的状态
        currentPage: 1, //搜索公众号的当前页
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function(options) {
        if (options.index) {
            this.setData({
                id: options.id,
                index: options.index
            });
        } else {
            this.setData({
                id: options.id,
            })
        }

        var that = this;
        wx.getStorage({
            key: 'apply',
            success: function(res) {
                that.setData({
                    checkedList: res.data
                });
                if (res.data.length > 0) {
                    // console.log(1)
                    that.setData({
                        shows: 3,
                        btn: false
                    })
                }
            },
            fail: function(res) {}
        });

    },
    // 监控输入框改变事件
    searchKeyword(e) {
        var val = e.detail.value
        // console.log(val)
        if (val == '') {
            this.setData({
                clear: false,
                list: [],
                shows: 1, // 判断输入框没有值的时候  让图片显示 
                btn: true, //改变确定btn得背景颜色 为灰色
            })
        } else {
            this.setData({
                clear: true
            })
        }
        // if (val != '') {
        //     this.setData({
        //         shows: 2,
        //         btn: false
        //     })
        // }  
    },
    // 监控键盘的ente事件
    keywordSearch(e) {
        var val = e.detail.value
        // console.log(val)
        this.setData({
            val: val
        })
        // if (val != '') {
        //     // 判断输入框有内容得时候  让图片消失 改变确定btn得背景颜色
        //     this.setData({
        //         shows: 2,
        //         btn: false
        //     })
        // }
        // 搜素数据库有的数据
        // let url = http.api.getvipcn;
        // let obj = {
        //     _q: val,
        //     platform_id: 1,
        // }
        // myHttps({
        //     url: url,
        //     method: "GET",
        //     data: obj
        // }).then(res => {
        //     // console.log(res)
        //     if (res.code == 1) {
        //         // console.log(res.data.content)
        //         this.setData({
        //             list: res.data.content,
        //         })
        //     }
        // }).catch(err => {})
        // 只要输入框改变 就发请求
        this.getSogou(val, this.data.currentPage)
    },
    // 搜狗
    getSogou(val, currentPage) {
        // 搜索数据库没有的数据 走搜狗的搜索
        let url = 'https://weixin.sogou.com/weixin?query=' + val + '&s_from=input&type=1&page=' + currentPage;
        wx.setStorageSync('urls', url)
        souHttps({
            url: url,
            method: "GET",
        }).then(res => {
            // console.log(res)
            var res = res.replace(/\r?\n/g, "");
            var reg = /<li id="sogou.+?<\/li>/g;
            // console.log(res)

            var avator, publicName, wxAccount, media_id;

            var reg1 = /(?:<\/span><img src=")(.+?)(?:")/g; //头像的正则匹配
            var reg2 = /<a target="_blank" uigs="account_name.+?(?=<\/a>)/g; //公众号名称的正则匹配
            var reg3 = /<label name="em_weixinhao">.+?<\/label>/g; //微信号的正则匹配

            var searchResult = (res.match(reg));
            var publicList = [];
            for (var i = 0; i < searchResult.length; i++) {
                var item = {
                    nick: '',
                    name: '',
                    avatar: '',
                    id: ''
                }
                avator = searchResult[i].match(reg1).join('').split('=');
                avator = avator[1].match("\"([^\"]*)\"")[1].replace("//", "https://"); //公众号头像

                publicName = searchResult[i].match(reg2)[0].replace(/<.+?>/g, ""); //公众号名称
                // console.log(publicName)

                wxAccount = searchResult[i].match(reg3)[0].replace(/<.+?>/g, ""); //微信公众号
                // console.log(wxAccount)

                media_id = md5("WX-" + publicName); //md5生成媒体id
                media_id = media_id.toLowerCase(); 
                // console.log(media_id)

                item.avatar = avator
                item.nick = publicName
                item.name = wxAccount
                item.id = media_id
                publicList.push(item);
                // this.data.list.push(publicList)
                // console.log(publicList)
            }
            // console.log(publicList)
            this.setData({
                list: publicList,
                shows: 2, // 判断输入框有内容得时候  让图片消失 
                btn: false, //改变确定btn得背景颜色 蓝色
            })
        }).catch(err => {
            wx.showToast({
                title: '您的访问过于频繁，请稍后重试',
                icon: 'none',
                duration: 2000
            })
        })
    },
    // 上拉加载
    onReachBottom: function(event) {
        // console.log(this.data.shows)
        if (this.data.shows == 2) {
            this.setData({
                currentPage: this.data.currentPage + 1,
                hiddenLoading: false
            })
            this.getSogou(this.data.val, this.data.currentPage)
        }
    },
    // 点输入框后面的小叉叉 清空输入框内容
    bindKeyInput(e) {
        let val = e.detail.value
        this.setData({
            val: val
        })
        if (val == '') {
            this.setData({
                clear: false
            })
        } else {
            this.setData({
                clear: true
            })
        }
    },
    // 点击输入框后面的小叉叉  清空输入框的内容
    clearContent() {
        // console.log(this.data.val)
        // console.log(100)
        this.setData({
            val: '',
            clear: false
        })
    },
    // 点击搜索结果得每一项 改变状态 然后显示结果
    choose(e) {
        // console.log(e)
        //选择的搜索id
        var index = e.currentTarget.dataset.index;
        var media_id = e.currentTarget.dataset.id; //搜索之后的点击的id 媒体id
        var platform_id = 1;
        var name = e.currentTarget.dataset.name; //搜索之后的汉字展示   
        this.data.checkedList.push({
            platform_id: platform_id,
            media_id: media_id,
            media_name: name,
        })
        // for (var i = 0; i < this.data.checkedList.length; i++) {
        //     if (media_id == this.data.checkedList[i].media_id){
        //         //不是去重是push的时候看这个数组中装过这个数据没有       
        //     }else{ 
        //     }
        // }
        this.setData({
            checkedList: this.data.checkedList,
            shows: 3,
            btn: false
        })
    },
    //点击删除
    close(e) {
        // console.log(e)
        let id = e.currentTarget.dataset.id
        let names = e.currentTarget.dataset.name
        let obj = this.data.checkedList
        for (var i = 0; i < this.data.checkedList.length; i++) {
            let objItem = this.data.checkedList[i]
            if (id == objItem.media_id) {
                obj.splice(i, 1)
                this.setData({
                    checkedList: obj
                })
            }
        }
        //   当obj的数据未空的时候  隐藏整个 已选择的媒体 元素
        if (obj == '') {
            this.setData({
                empty: false
            })
        }
    },
    //点击确定  把选中得公众号带到创建主题页面
    goCreatTheme() {
        let that = this
        wx.setStorage({
            key: 'apply',
            data: this.data.checkedList
        })
        console.log(this.data.checkedList)
        if (this.data.index) {
            wx.redirectTo({
                url: '../EditorTheme/EditorTheme?index=' + 1,
                success: function(res) {},
                fail: function(res) {},
                complete: function(res) {},
            })
        } else {
            wx.navigateBack({
                url: '../createTheme/createTheme',
                success: function(res) {},
                fail: function(res) {},
                complete: function(res) {},
            })
        }

    },
})